package TouristManagement;

/**
 * Interface definition : VisitManagement
 * 
 * @author OpenORB Compiler
 */
public interface VisitManagementOperations
{
    /**
     * Operation getIdSite
     */
    public short[] getIdSite();

    /**
     * Operation createTourist
     */
    public short createTourist(String nomTourist, TouristManagement.DateV dateDeb, TouristManagement.DateV dateFin);

    /**
     * Operation updateVisitEndHour
     */
    public boolean updateVisitEndHour(short idSite, short touristCardNumber);

    /**
     * Operation verifyVisit
     */
    public boolean verifyVisit(short idSite, short touristCardNumber);

    /**
     * Operation getVisitingSite
     */
    public short getVisitingSite(short touristCardNumber);

    /**
     * Operation getAdviceAverage
     */
    public TouristManagement.Advice getAdviceAverage(short idSite);

    /**
     * Operation addAdvice
     */
    public boolean addAdvice(short idSite, short touristCardNumber, TouristManagement.Advice theAdvice);

    /**
     * Operation getdurationAverage
     */
    public short getdurationAverage(short idSite);

    /**
     * Operation getdurationMax
     */
    public short getdurationMax(short idSite);

    /**
     * Operation getdurationMin
     */
    public short getdurationMin(short idSite);

    /**
     * Operation getHoraireOuverture
     */
    public TouristManagement.Hours getHoraireOuverture(short idSite);

    /**
     * Operation getHoraireFermeture
     */
    public TouristManagement.Hours getHoraireFermeture(short idSite);

    /**
     * Operation getNbVisiteurActuel
     */
    public short getNbVisiteurActuel(short idSite);

    /**
     * Operation getNbVisiteurMaximal
     */
    public short getNbVisiteurMaximal(short idSite);

    /**
     * Operation getDateDebValid
     */
    public TouristManagement.DateV getDateDebValid(short touristCardNumber);

    /**
     * Operation getDateFinValid
     */
    public TouristManagement.DateV getDateFinValid(short touristCardNumber);

    /**
     * Operation getNomSite
     */
    public String getNomSite(short idSite);

    /**
     * Operation getCoordsGPS
     */
    public TouristManagement.CoordsGPS getCoordsGPS(short idSite);

    /**
     * Operation addVisit
     */
    public boolean addVisit(short idSite, short touristCardNumber);

    /**
     * Operation existTourist
     */
    public boolean existTourist(short touristCardNumber);

    /**
     * Operation getVisitSequence
     */
    public String getVisitSequence();

    /**
     * Operation isVisitingSite
     */
    public boolean isVisitingSite(short touristCardNumber);

    /**
     * Operation getAffluenceQuotidienne
     */
    public short getAffluenceQuotidienne(short idSite);

}
